#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>

// int main()
// {
//     char buf[1024] = "hello";
//     ssize_t s = read(0, buf, sizeof(buf));

//     if(s > 0){
//         buf[s] = 0;
//         write(1, buf, strlen(buf));
//         write(2, buf, strlen(buf));
//     }
//     return 0;
// }

int main()
{
    int fd = open("./log.txt", O_CREAT | O_RDWR);
    if (fd < 0)
    {
        perror("open");
        return 1;
    }
    close(1);
    //将标准输出，指向fd文件
    dup2(fd, 1);
    for (;;)
    {
        char buf[1024] = {0};
        ssize_t read_size = read(0, buf, sizeof(buf) - 1);
        if (read_size < 0)
        {
            perror("read");
            break;
        }
        printf("%s", buf);
        fflush(stdout);
    }
    return 0;
}